One of the earliest methods of accessing services available over the Internet was through subscription service provided by an Internet Service Provider (ISP). Most subscribers were individuals who owned personal computers. After obtaining a subscription with an ISP, they would install ISP access software on their computers. This software would use a modem, either internal or external to a computer, to dial an access number for the ISP and establish a communication link with an ISP server through the Public Switched Telephone Network (PSTN). The ISP server could then communicate data messages between the subscriber's computer and other computers coupled to the ISP server through the Internet backbone. These messages were principally used to download files, typically in the Hypertext Markup Language (HTML) format, to the subscribers. Most subscribers executed an application program on their computers called a browser that displayed the content of the downloaded files for the subscriber.
Content from the other computers coupled to the ISP server became significantly larger as image data files and program files, such as applets and the like, were included in the downloaded files. The telephone connection through the modem to the PSTN was typically a twisted pair connection that had a significantly limited bandwidth. Because this limitation was a physical characteristic of the twisted pair conductors used to provide telephone service to most homes, companies began to investigate the availability of other communication media capable of broad bandwidth communication that could be used to couple subscribers to an Internet access service provider.
One candidate for broad bandwidth Internet service is Cable Television (CATV) system architecture. These systems typically include coaxial cable service to subscriber homes and, in some systems, fiber optic cable may form a backbone for the system. Systems that use both coaxial cable and fiber optic cable to provide service to subscribers are called hybrid fiber cable (HFC) systems. These coaxial and fiber optic cables may support broad bandwidth communications but the data messages in this type of system are unidirectional rather than bi-directional as required for Internet communication. To address these limitations, companies began to develop cable modems for receiving Transport Control Protocol/Internet Protocol (TCP/IP) messages from a computer at a subscriber site and translating them for delivery to the head end of the CATV system and vice versa. While a communication channel could be provided for downstream messages from the head end to a subscriber through the same equipment that provided cable programming content to subscribers, communication to the head end from the subscribers was more problematic. One way of addressing the limited ability to route communication from the subscribers to the head end was to have the cable modems direct communication for the head end to a Telephony Remote Access Concentrator (TRAC) through the PSTN. As routers were developed for bi-directional message traffic through a CATV system, CATV systems capable of supporting broad bandwidth data communication without PSTN support for upstream communication became available.
At the head end of a CATV system, a Cable Modem Termination System (CMTS) manages the communication network aspects of a CATV system. The CMTS may receive data messages from computers at subscriber sites or the messages may be received by a TRAC that communicates with the CMTS for downstream communication with the subscribers. The TRAC or the CMTS, or both, may communicate with other computers on the Internet to obtain the content requested by computers at the subscriber sites and then deliver that content to the subscriber sites through the CMTS.
In order to establish communication between the CMTS at the head end of a CATV system and computers at the subscriber sites, the communication standards for the network formed by the CMTS, CATV system, and cable modems needed to be defined. One specification developed for this type of network is the Data-Over-Cable Service Interface Specification (DOCSIS). This specification provides the requirements that cable modems need to implement in order to support data communication over CATV systems and be compatible with the CMTS and TRAC component, if provided, in such systems.
One requirement identified by this specification is the need for the CMTS to recognize the cable modem at each subscriber site through which the computers at the subscriber site communicate with the CMTS. This recognition is provided through the Dynamic Host Configuration Protocol (DHCP). DHCP is known from TCP/IP networks. DHCP allows a device to be installed on a network and obtain an IP address on the network so messages from and to the device may be identified. Under DOCSIS, a cable modem is identified by its Media Access Control (MAC) address. This address is a 48-bit value that is stored in a network interface card (NIC) at the time of its manufacture. A cable modem communicates with the CMTS through a NIC having a MAC address and this address is provided to a DHCP server. Through the process managed by a DHCP server located at the head end and coupled to the CATV system through the CMTS, a routing table and Address Resolution Protocol (ARP) table are generated at the CMTS that correlates each MAC address of the cable modems on the system with a unique IP address. Also, the DHCP server provides a pointer to a Trivial File Transfer Protocol (TFTP) server so the cable modem may download a configuration file from the TFTP server to establish the modem's configuration mode and parameters. Likewise, the cable modem generates a routing table and ARP table for identifying the IP address and MAC address of the CMTS.
When a subscriber couples a computer to a cable modem, the computer requires an IP address for communication with the CMTS under DOCSIS. The CPE component communicates with the DHCP server through the cable modem and CMTS so the DHCP server may assign an IP address to the subscriber's computer. Equipment coupled to the CATV system through a cable modem is known as Customer Premises Equipment (CPE). A NIC within a CPE component is coupled to a NIC at the cable modem other than its CATV NIC. The CATV NIC is the NIC through which the modem is coupled to the CATV network. The cable modem relaying the DHCP messages from the DHCP agent software executing on the CPE provides the DHCP server with the CATV NIC MAC address and the MAC address of the CPE NIC. The DHCP server uses the MAC addresses to assign an IP address to the CPE device coupled through the cable modem and to provide a TFTP server pointer through the DHCP server at the head end. The CMTS uses the two MAC addresses and assigned IP address to update its routing and ARP tables. Also, the cable modem maintains a routing table and ARP table that correlate the MAC address of the CPE NIC with the IP address assigned to the CPE coupled through the network interface.
The DOCSIS specification assumes that each CPE coupled to the CATV system through the cable modem is coupled through a separate NIC at the cable modem. However, many subscribers have more than one computer at a site and may desire to couple more than one computer at the site to the CATV system at the same time. In order to make contemporaneous operation of two computers through the cable modem possible, each would require a separate connection to the cable modem. This may require a hub or physical proximity of the two or more computers to the cable modem. In an effort to avoid such a constraint, some subscribers install a router, such as a wireless router, to couple all of the computers at their site together into a network. The router may then be coupled to the cable modem so all of the computers and other devices coupled together on the network are coupled through the router to the cable modem and the data-over-cable system supported on the CATV system.
When the router is initialized after being coupled to the cable modem, it is assigned an IP address by the DHCP server. When one of the computers coupled to the subscriber site router initiates an Internet session through the CMTS, the computer must be assigned an IP address and configured for communication over the CATV system. The agent software that manages the IP communication parameters for the computer does not know that it is coupled to the CATV network through a router. When the agent sends a message to a Service Activation Service (SAS) server at the CMTS requesting access account information for the CPE component on which it is executing, the MAC address of the CPE component does not get past the router to the cable modem. Consequently, the SAS server treats the message as coming from the router. Messages received at the router for the CPE component are still passed through to the CPE component because the router recognizes the IP address for the CPE component from its internal routing table. Also, the CMTS views the topology of the computers-coupled to it through a cable modem as only being no more than one node behind the cable modem because the modem only supplies its MAC address and the MAC address of the router to the CMTS. This limitation raises a number of issues for communication over a DOCSIS network.
For one, configuration management may be affected. Configuration management of nodes on a network includes initializing, maintaining, adding, and updating network components. Typically, this includes modifying parameters for physical resources and/or logical objects. Configuration actions may be classified as non-operational or operational actions. Non-operational actions are those parameter modifications that do not alter the operating environment. For example, a change regarding contact information that identifies the person responsible for CMTS operation is non-operational. Operational actions, on the other hand, do alter the operating environment.
One example of an operational action occurs when a subscriber activates an account with a Cable Access Provider. Prior to account registration/activation, the cable modem, router, and CPE component at a subscriber site only have private IP addresses. A private IP address permits a subscriber to access services directly provided from the head end but it does not allow access to services from the Internet or other external service. In order to access the Internet, the subscriber must activate the high speed data service. Agent software on the CPE component is responsible for obtaining the user's account information, authenticating the user with the SAS server at the head end, and navigating to the SAS server activation page. At the end of a successful registration/activation, the SAS server sends a MIME message response for the agent software that indicates the completion of the activation/registration.
At this point, the user has established an account and a service level for the account. The agent software then sends an account query message to the SAS server to determine whether device management is required for utilization of the account. If a cable modem reboot is required, the SAS server responds with a response message indicating the cable modem needs to be reset for account utilization. After processing the response message, the agent software on the CPE component displays a message informing the user that the cable modem needs to reboot in order for Internet access to become available. This is typically required as the cable modem may also provide access to other services and the rebooting of the cable modem may disrupt other active services. If the user signals acceptance of a cable modem reboot, the agent software sends a Cable Modem Reset XML message to the SAS server, which in turn issues a cable modem reboot to the cable modem. In response, the cable modem goes through the process for obtaining a routable IP address and being configured for the level of service to which the subscriber agreed.
At this point, only the cable modem has a routable IP address. If the CPE component is directly coupled to the cable modem, then one way to obtain a routable address is for the CPE component to reboot in order to initiate the process for obtaining a routable IP address. This process is commonly known as the DHCP renew process. However, if the CPE component is coupled to the cable modem through a router, rebooting the CPE component is ineffective because the CPE component is assigned an IP address by the router and, until the router has a routable IP address, the CPE component cannot obtain a routable IP address to access the Internet through a high speed data service. To obtain a routable IP address, the router needs to be reset so it initiates the process for obtaining a routable IP address. However, the agent software does not have data indicating whether it is coupled directly to the cable modem or indirectly through a router to initiate the router to obtain a routable IP address.
This type of ambiguous condition occurs when a router at a subscriber site is replaced with another router. When the CPE component is rebooted after the router replacement, the agent software on the CPE component may send an account query message to the SAS server. The SAS server detects the router change from the change in MAC address between the previous router and the replacement router. The message response from the SAS server to the CPE component indicates that device management is required. After performing device management, the agent software knows that a DHCP renew message needs to be issued. However, the CPE agent software does not know whether the message is to be issued to the new router or to the CPE component.
What is needed is a way for the agent software executing on a CPE component to recognize that a router is coupled between the CPE component on which it is executing and the cable modem coupling the CPE component to a data-over-cable system.
What is needed is a way for the agent software executing on a CPE component to take an action with respect to a router to which it is coupled in response to a device management response directed to the CPE component.
What is needed is a way for the head end to distinguish a router at a site from the CPE components it couples to a data-over-cable network.